// package com.lt.basic.project.application.config.local;
//
// import com.alibaba.fastjson2.JSON;
// import com.alibaba.fastjson2.JSONObject;
//
// import java.util.List;
// import java.util.Map;
// import java.util.concurrent.ConcurrentSkipListMap;
//
// /**
//  * 线程本地
//  * @author LT
//  */
// public class ThreadLocal {
//
//     /**
//      * 构造方法
//      */
//     public ThreadLocal() {}
//
//     /**
//      * 取得本地线程对象
//      */
//     private static final ThreadLocal<Map<String, Object>> MY_LOCAL = new ThreadLocal<>();
//
//     /**
//      * 写入本地线程
//      */
//     public static void put(String key, Object val) {
//         Map<String, Object> map = MY_LOCAL.get();
//         if (map == null) {
//             synchronized (MY_LOCAL) {
//                 map = new ConcurrentSkipListMap<>();
//             }
//         }
//         map.put(key, val);
//         MY_LOCAL.set(map);
//     }
//
//     /**
//      * 获取本地线程
//      */
//     public static Object get(String key) {
//         Map<String, Object> map = MY_LOCAL.get();
//         if (map == null) {
//             return null;
//         }
//         return map.getOrDefault(key, "");
//     }
//
//     /**
//      * 获取用户ID
//      */
//     public static Long getUserId() {
//         Object adminId = ThreadLocal.get("userId");
//         if (adminId == null || adminId.toString().isEmpty()) {
//             return null;
//         }
//         return Long.parseLong(adminId.toString());
//     }
//
//     /**
//      * 获取角色ID
//      */
//     public static List<Long> getRoleIds() {
//         Object roleIds = ThreadLocal.get("roleIds");
//         if (roleIds == null || roleIds.toString().isEmpty()) {
//             return null;
//         }
//         return JSON.parseObject(roleIds.toString(), List.class);
//     }
//
//     /**
//      * 获取平台标识
//      */
//     public static Integer getTerminal() {
//         Object adminId = ThreadLocal.get("terminal");
//         if (adminId == null || adminId.toString().equals("")) {
//             return 0;
//         }
//         return Integer.parseInt(adminId.toString());
//     }
//
//     /**
//      * 删除本地线程
//      */
//     public static void remove() {
//         MY_LOCAL.remove();
//     }
//
// }
